package com.voxel.sense.infomsg.utils;

import android.content.Intent;
import android.net.Uri;

import com.example.com.common.utils.AppUtils;

/**
 * Created by ChenYiYao on 2018/10/15.
 * des : 跳转地图意图工具
 */
public class MapIntentUtils {

    /**
     * @param to   目的地
     * @param dLat 目的地纬度
     * @param dLon 目的地经度
     * @return
     */
    public static Intent getTXMapIntent(String to, double dLat, double dLon) {
        Intent intent = new Intent();
        intent.setAction("android.intent.action.VIEW");
        Uri parse = Uri.parse("qqmap://map/routeplan?"
                + "type=" + "drive"
                + "&fromcoord=" + "CurrentLocation"
                + "&to=" + to
                + "&tocoord=" + dLat + "," + dLon
        );
        intent.setData(parse);
        return intent;
    }

    /**
     * 跳转高德
     *
     * @param area 目的地名称
     * @param dLat 目的地纬度
     * @param dLon 目的地经度
     * @return
     */
    public static Intent getGaoDeMapIntent(String area, double dLat, double dLon) {
        Intent intent = new Intent();
        intent.setAction("android.intent.action.VIEW");
        Uri parse = Uri.parse("amapuri://route/plan/?"
                + "sourceApplication" + AppUtils.getAppName()
                + "&dlat=" + dLat + "&dlon=" + dLon
                + "&dname=" + area
                + "&dev=0"
                + "&t=0"  //t = 0（驾车）= 1（公交）= 2（步行）= 3（骑行）= 4（火车）= 5（长途客车）
        );
        intent.setData(parse);
        intent.setPackage("com.autonavi.minimap");
        return intent;
    }

    /**
     * @param area 目的地名称
     * @param dLat 目的地纬度
     * @param dLon 目的地经度
     * @return
     */
    public static Intent getBaiDuMapIntent(String area, double dLat, double dLon) {
        Intent intent = new Intent();
        Uri parse = Uri.parse("baidumap://map/direction?"
                + "destination=latlng:" + dLat + "," + dLon + "|name:" + area //目的地
                + "&mode=driving" //导航方式transit（公交） driving（驾车） walking（步行）
        );
        intent.setData(parse);
        return intent;
    }

}
